Typically, in the design of integrated circuits, standard cells having fixed functions are used. Pre-designed standard cells are stored in cell libraries. When designing integrated circuits, the standard cells are retrieved from the cell libraries and placed into desired locations on an integrated circuit layout. Routing is then performed to connect the standard cells with each other.